<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        var reg = new RegExp(/123/);
        console.log(reg);
        console.log(reg.test(123));

        var reg = /abc/ // 正则表达式//里面不需要加引号
        console.log(reg.test('abc'))
        console.log(reg.test('aabc'))
        console.log(reg.test('aabcddss'))
        console.log("---------------------1----------------------")
        // ^与 $  边界符
        var reg2 = /^abc/ //表示以abc开头
        console.log(reg2.test('aabc'))
        console.log("----------------------2---------------------")
        //精确匹配 : 必须是abc
        var reg3 = /^abc$/
        console.log(reg3.test('abc'));
        console.log(reg3.test('aabcd'));
        console.log(reg3.test('abcc'));
        console.log("---------------------3----------------------")
        // [ ] : 表示有一系列字符可供选择,  只要包含a或b或c中一个都可匹配
        var reg4 = /[abc]/
        console.log(reg4.test('ab'));
        console.log(reg4.test('c'));
        console.log(reg4.test('ad'));
        console.log(reg4.test('d'));
        console.log("---------------------4----------------------")
        var reg4 = /^[abc]$/ // 表示只能是a或b或c
        console.log(reg4.test('aa'));
        console.log(reg4.test('c'));
        console.log(reg4.test('ad'));
        console.log(reg4.test('d'));
        console.log("---------------------5----------------------")
        //  -  ： 范围符
        var reg4 = /^[a-z]$/ // 表示a到z的26个字母中的任一个
        console.log(reg4.test(1));
        console.log(reg4.test('c'));
        console.log(reg4.test('z'));
        console.log(reg4.test('X'));
        console.log("---------------------6----------------------")
        //  -  ： 范围符
        var reg4 = /^[a-zA-Z0-9_-]$/ // 表示a到z的26个字母(包含大小写)和数字(0-9)中的任一个
        console.log(reg4.test(1));
        console.log(reg4.test('c'));
        console.log(reg4.test('z'));
        console.log(reg4.test('X'));
        console.log(reg4.test('-'));
        console.log(reg4.test('_'));
        console.log(reg4.test('@'));
        console.log("---------------------7----------------------")
        //  [] 内的 ^是取反符， 不是边界符，表示取反
        var reg4 = /^[^a-zA-Z0-9_-]$/ // 表示不包含a到z的26个字母(包含大小写)和数字(0-9)中的任一个
        console.log(reg4.test(1));
        console.log(reg4.test('c'));
        console.log(reg4.test('z'));
        console.log(reg4.test('X'));
        console.log(reg4.test('-'));
        console.log(reg4.test('_'));
        console.log(reg4.test('@'));
    </script>
</body>

</html>